In recent years, the amount of data that information processing apparatuses such as computers are caused to process has tended to increase more and more. Currently, in normal cases, information processing apparatuses are caused to process the amount of data that is larger than the amount of data processed in the related art. Accordingly, tiering of storages that makes it possible to make a high-speed access while the cost of storing data is being reduced is employed.
Regarding storages, typically, the cost of storing data per unit amount of data tends to increase as the access speed at which such a storage is accessed increases. Accordingly, in the case of tiering of storages that are accessed at different access speeds, all data or data regarding which it is assumed that the frequency of access to the data is comparatively low is stored in an inexpensive storage that is accessed at a low access speed (hereinafter, referred to as a “low-speed storage”). Data regarding which it is assumed that the frequency of access to the data is comparatively high is stored in an expensive storage that is accessed at a high access speed (hereinafter, referred to as a “high-speed storage”). Thus, the cost of storing data is reduced, and it is possible to make a high-speed access.
In the case of tiering of storages, data transfer is performed as needed basis between the low-speed storage and the high-speed storage. Data transfer between the storages is performed by an information processing apparatus (a data transfer control apparatus) that is capable of accessing both the low-speed storage and the high-speed storage between which data transfer is to be performed. The information processing apparatus performs, using a program for tiering of storages, data transfer between the storages. It is possible to classify data transfer between the storages broadly into data transfer for copying data stored in one of the storages into the other storage and data transfer for relocating data so that the data stored in one of the storages will be moved into the other storage.
As transfer units in which data is transferred between the storages, transfer units based on a logical unit number (LUN), or, based on, for example, a sub-LUN are used. More specifically, a transfer unit is, for example, several hundred GB in size. Here, data used as the transfer unit is referred to as a “block”.
The capacity of the high-speed storage is lower than that of the low-speed storage. The number of storable blocks is limited. Thus, in reality, movement of a block whose frequency of access is low into the high-speed storage causes a ratio of blocks whose frequencies of access are high to blocks stored in the high-speed storage to be reduced. Furthermore, there is a possibility that a block whose frequency of access is higher will be removed from the high-speed storage. Accordingly, it is very significant to appropriately predict a block whose frequency of access is high.
In normal cases, removal of a block on the high-speed storage is performed when the high-speed storage has no region in which another block that is to be newly transferred from the low-speed storage is to be stored. A block that is selected as a target to be removed is, for example, a block for which a time period over which the block is not accessed is the longest.
FIG. 1 is a diagram illustrating an example of access patterns. The horizontal axis represents time, and the vertical axis represents an accessed logical address (written as “accessed logical address” in FIG. 1). Each circle illustrated in FIG. 1 represents an access that has been made in reality. A method for predicting a block whose frequency of access is high will be described with reference to FIG. 1.
It is possible to classify the access patterns broadly into a sequential access and a random access. The sequential access is an access pattern in which the value of the logical address that is to be accessed is changed along one direction from a small value of the logical address to a large value of the logical address or one direction from a large value of the logical address to a small value of the logical address, as indicated by an access group bordered using a frame 11 illustrated in FIG. 1. Here, examples of the sequential access include a pseudo sequential access that is an access pattern in which a stride, which is the amount of change in the value of the logical address specified by making a continuous access, is changed by a comparatively large amount. In contrast, the random access is an access pattern in which the value of the logical address that is to be accessed is changed on an irregular basis.
In the sequential access, the value of the logical address is changed along one direction as a whole. Thus, it is possible to expect that a block, which is along the one direction and adjacent to a block that is being accessed by making a sequential access, will also be accessed with high frequency. Accordingly, in the related art, determination of a block that is to be transferred onto the high-speed storage is performed by focusing on the sequential access.
As a method for detecting the sequential access that is a method in the related art, there is a method in which a block is divided into a plurality of regions, in which a change in a ratio of regions that have been accessed in reality to the plurality of regions is monitored, and in which, when the ratio increases or equal to or larger than a certain value, it is determined that a sequential access has been made. Moreover, there is a method in which a pseudo sequential access is detectable by providing a margin for the stride in the address of a block that is accessed.
In the case of determination of, by detecting the sequential access, a block that is to be transferred, determination of a block that is to be determined is performed by detecting the sequential access. In the related art, the information processing apparatus that performs data transfer between the storages determines a block, and transfers the determined block onto the high-speed storage.
Japanese Laid-open Patent Publications No. 2002-182978, No. 2000-76017, and No. 4-259048, and Domestic Re-publication of PCT International Publication for Patent Application No. 2008/155815 are examples of the related art.